package com.example.springssm.mapper;

import com.example.springssm.bean.Employee;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface EmployeeMapper {
    // 1. 新增员工 (返回主键)
    int insert(Employee employee);

    // 2. 根据ID删除员工
    int deleteById(Long id);

    // 3. 根据ID更新员工信息
    int update(Employee employee);

    // 4. 根据ID查询员工
    Employee selectById(Long id);

    // 5. 查询所有员工 (列表)
    List<Employee> selectAll();
    // 6. 分页查询员工 (核心！)
    List<Employee> selectByPage(@Param("offset") int offset, @Param("pageSize") int pageSize);
    // 注意：@Param 注解用于给参数命名，在 XML 中引用

    // 7. 查询员工总数 (用于分页计算总页数)
    int countTotal();
}
